package com.example.sprintboot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.sprintboot.entity.Product;
import com.example.sprintboot.vo.ProductBannerVO;
import com.example.sprintboot.vo.ProductDetailVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ProductMapper extends BaseMapper<Product> {
    // 分页+搜索
    IPage<Product> selectProductPage(Page<Product> page,
                                     @Param("keyword") String keyword,
                                     @Param("categoryId") Integer categoryId,
                                     @Param("status") Integer status);
    
    // 获取轮播图商品
    List<ProductBannerVO> selectBannerProducts();

    // 获取商品详情
    ProductDetailVO selectProductDetailById(@Param("productId") Integer productId);
    
    // 卖家相关方法
    List<Product> selectBySellerId(@Param("sellerId") Integer sellerId);
    int selectCountBySellerId(@Param("sellerId") Integer sellerId);

    int countBannerProducts();
} 